package utils
{
	import com.adobe.utils.*;
	import flash.display.Stage3D;
	import flash.display3D.Context3D;
	import flash.display3D.Context3DProgramType;
	import flash.display3D.Context3DTriangleFace;
	import flash.display3D.Context3DVertexBufferFormat;
	import flash.display3D.IndexBuffer3D;
	import flash.display3D.Program3D;
	import flash.display3D.VertexBuffer3D;
	import flash.display3D.*;
	import flash.display3D.textures.*;
	import flash.geom.Matrix;
	import flash.geom.Matrix3D;
	import flash.geom.Vector3D;
	
	public class Molehill_entity_old
	{
		// Matrix variables (position, rotation, etc.)
		private var _transform:Matrix3D;
		private var _inverseTransform:Matrix3D;
		private var _transformNeedsUpdate:Boolean;
		private var _valuesNeedUpdate:Boolean;
		private var _x:Number = 0;
		private var _y:Number = 0;
		private var _z:Number = 0;
		private var _rotationDegreesX:Number = 0;
		private var _rotationDegreesY:Number = 0;
		private var _rotationDegreesZ:Number = 0;
		private var _scaleX:Number = 1;
		private var _scaleY:Number = 1;
		private var _scaleZ:Number = 1;
		private const RAD_TO_DEG:Number = 180/Math.PI;
		// Molehill objects
		private var context:Context3D;
		private var vertexBuffer:VertexBuffer3D;
		private var indexBuffer:IndexBuffer3D;
		private var shader:Program3D;
		private var texture:Texture;
		private var mesh:Molehill_obj_parser;
		// Render modes:
		public var blend_src:String = Context3DBlendFactor.ONE;
		public var blend_dst:String = Context3DBlendFactor.ZERO;
		public var depth_test_mode:String = Context3DCompareMode.LESS;
		public var depth_test:Boolean = true;
		public var culling_mode:String = Context3DTriangleFace.FRONT;
		// if this is set entity is "stuck" to another
		private var _following:Molehill_entity_old;
		public function Molehill_entity_old()
		{
		}
	}
}